﻿package net.wangit.jdbc;

/**
 * 数据库查询参数对象。
 * 
 * @author watson Feb 12, 2010
 */
public final class QueryParameters {

	private int[] types;
	private String[] values;
	private int firstRow;
	private int maxRows;
	private int timeout;

	public QueryParameters() {
		firstRow = 0;
		maxRows = -1;
		timeout = 0;
	}

	public QueryParameters(String[] values, int[] types) {
		firstRow = 0;
		maxRows = -1;
		timeout = 0;
		this.types = types;
		this.values = values;
	}

	// 取得字段类型数组。
	public int[] getTypes() {
		return types;
	}

	// 取得字段值数组。
	public String[] getValues() {
		return values;
	}

	// 设置字段类型数组，用于设置查询语句中的'?'
	public void setTypes(int[] types) {
		this.types = types;
	}

	// 设置字段值数组，用于设置查询语句中的'?'
	public void setValues(String[] values) {
		this.values = values;
	}

	// 取得起始行号，默认值为0。
	public int getFirstRow() {
		return firstRow;
	}

	// 设置起始行号，决定了从结果集的第几行开始取数据。
	public void setFirstRow(int firstRow) {
		this.firstRow = firstRow;
	}

	// 取得最大行数，默认为不限制行数。
	public int getMaxRows() {
		return maxRows;
	}

	// 设置最大行数，决定查询结果MapList中最多容纳的数据量。
	public void setMaxRows(int maxRows) {
		this.maxRows = maxRows;
	}

	// 取得超时时间，默认为不限制超时时间。
	public int getTimeout() {
		return timeout;
	}

	// 设置超时时间，查询超时将抛出异常SQLException，设为0或负数表示不限制超时时间。
	public void setTimeout(int timeout) {
		this.timeout = timeout;
	}
}
